package com.kingdee.eas.scm.sm.pur.app;

import com.kingdee.bos.BOSException;
//import com.kingdee.bos.metadata.*;
import com.kingdee.bos.framework.*;
import com.kingdee.bos.util.*;
import com.kingdee.bos.Context;

import java.lang.String;
import com.kingdee.eas.scm.sm.pur.PurRequestInfo;
import com.kingdee.bos.metadata.entity.EntityViewInfo;
import com.kingdee.eas.common.EASBizException;
import com.kingdee.bos.dao.IObjectPK;
import java.util.Map;
import com.kingdee.eas.scm.common.app.SCMBillBaseController;
import com.kingdee.bos.metadata.entity.SelectorItemCollection;
import com.kingdee.eas.framework.CoreBaseCollection;
import com.kingdee.eas.scm.sm.pur.PurRequestCollection;
import com.kingdee.bos.util.*;
import com.kingdee.bos.BOSException;
import com.kingdee.bos.Context;
import com.kingdee.bos.dao.IObjectValue;
import com.kingdee.eas.framework.CoreBaseInfo;
import com.kingdee.bos.framework.*;

import java.rmi.RemoteException;
import com.kingdee.bos.framework.ejb.BizController;

public interface PurRequestController extends SCMBillBaseController
{
    public PurRequestInfo getPurRequestInfo(Context ctx, IObjectPK pk) throws BOSException, EASBizException, RemoteException;
    public PurRequestInfo getPurRequestInfo(Context ctx, IObjectPK pk, SelectorItemCollection selector) throws BOSException, EASBizException, RemoteException;
    public PurRequestInfo getPurRequestInfo(Context ctx, String oql) throws BOSException, EASBizException, RemoteException;
    public PurRequestCollection getPurRequestCollection(Context ctx) throws BOSException, RemoteException;
    public PurRequestCollection getPurRequestCollection(Context ctx, EntityViewInfo view) throws BOSException, RemoteException;
    public PurRequestCollection getPurRequestCollection(Context ctx, String oql) throws BOSException, RemoteException;
    public void audit(Context ctx, IObjectPK objPK) throws BOSException, EASBizException, RemoteException;
    public void audit(Context ctx, IObjectPK[] ids) throws BOSException, EASBizException, RemoteException;
    public void cancellation(Context ctx, IObjectPK objPK) throws BOSException, EASBizException, RemoteException;
    public void cancellation(Context ctx, IObjectPK[] ids) throws BOSException, EASBizException, RemoteException;
    public void cancellation(Context ctx, IObjectPK[] ids, IObjectValue reasonCode) throws BOSException, EASBizException, RemoteException;
    public void cancellation(Context ctx, IObjectPK pk, IObjectValue reasonCode) throws BOSException, EASBizException, RemoteException;
    public void cancellation(Context ctx, IObjectPK[] ids, String reason) throws BOSException, EASBizException, RemoteException;
    public void cancellation(Context ctx, IObjectPK objpk, String reason) throws BOSException, EASBizException, RemoteException;
    public void close(Context ctx, IObjectPK pk) throws BOSException, EASBizException, RemoteException;
    public void unAudit(Context ctx, IObjectPK pk) throws BOSException, EASBizException, RemoteException;
    public void unAudit(Context ctx, IObjectPK[] pks) throws BOSException, EASBizException, RemoteException;
    public void handleWriteBack(Context ctx, IObjectPK[] pks) throws BOSException, EASBizException, RemoteException;
    public void handleWriteBack(Context ctx, IObjectValue newObjectValue, IObjectValue oldObjectValue) throws BOSException, EASBizException, RemoteException;
    public void handleWriteBack_UnAudit(Context ctx, IObjectPK[] pks) throws BOSException, EASBizException, RemoteException;
    public String handleGatherBill(Context ctx, IObjectPK[] pkBillEntrys, IObjectPK[] pkBills) throws BOSException, EASBizException, RemoteException;
    public Map submitForPlan(Context ctx, PurRequestInfo[] purRequestInfo) throws BOSException, EASBizException, RemoteException;
}